package face.pay.common.withdraw;

import face.pay.entity.UserInfo;
import face.pay.entity.CashRecodeInfo;
import face.pay.util.ResultMessage;
import face.pay.util.page.PageData;
import face.pay.util.page.PageParam;

import java.util.Map;

public interface IWithdrawManageService {
    /**
     * 分页查询用户提现记录
     * @param withdrawOrderInfo
     * @param pageParam
     * @param loginUser
     * @return
     */
    PageData queryData(CashRecodeInfo withdrawOrderInfo, PageParam pageParam, UserInfo loginUser);

    /**
     * 查询用户余额
     * @param loginUser
     * @return
     */
    Map Account(UserInfo loginUser);

    /**
     * 发起提现
     * @param loginUser
     * @param amount
     * @return
     */
    ResultMessage withdraw(UserInfo loginUser, double amount) throws Exception;
}
